package com.ww.grtsmanager.service;

import com.ww.grtsmanager.bean.User;

public interface UserService {
    /**
     * 根据账号和密码登录用户
     * @param userName 用户账号
     * @param passWord 密码
     * @return 指定账号和密码的用户对象或者返回null
     */
    User login(String userName, String passWord);

    /**
     * 注册用户功能
     * @param user 用户对象
     */
    void register(User user);

    /**
     * 校验用户名或邮箱是否可用
     * @param data 需要校验的数据（用户名或邮箱）
     * @param type 1代表校验用户名 2代表校验邮箱
     */
    void checked(String data, int type);

    /**
     * 生成验证码，保存验证码并发送邮件
     * @param email 用户邮箱
     */
    void generateCode(String email);

    /**
     * 修改用户密码，但需要先校验验证码是否过期
     * @param email 邮箱地址
     * @param code 验证码
     * @param passWord 最新的密码（需要加密）
     */
    void changePassWord(String email, Integer code, String passWord);
}
